#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#include<conio.h>
#include"FuncStruct.h"

int JudgeCom(Info conf)
{
	short flag_i[20][20]={0};
	int i,j;
	int flag_j=0,color=1;
	for(color=0;color<conf.clourN;color++)
	{
		flag_j=0;
	for(i=0;i<conf.matrixN;i++)
			for(j=0;j<conf.matrixN;j++)
				flag_i[i][j]=9;	
	
	for(i=0;i<conf.matrixN;i++)
	{
		for(j=0;j<conf.matrixN;j++)
			if(conf.matrixArr[i][j]==color)	
		{	flag_i[i][j]=1;
			break;
		}
		
		if(flag_i[i][j]==1)
			break;
	}

	while(flag_j!=1)
	{
		for(i=0;i<conf.matrixN;i++)
		{
			for(j=0;j<conf.matrixN;j++)
			{
				if(flag_i[i][j]==1)
				{
				if(i!=0&&conf.matrixArr[i-1][j]==color&&flag_i[i-1][j]==9)
						flag_i[i-1][j]=1;
				 if(i!=conf.matrixN-1&&conf.matrixArr[i+1][j]==color&&flag_i[i+1][j]==9)
						flag_i[i+1][j]=1;
				if(j!=0&&conf.matrixArr[i][j-1]==color&&flag_i[i][j-1]==9)
						flag_i[i][j-1]=1;
				if(j!=conf.matrixN-1&&conf.matrixArr[i][j+1]==color&&flag_i[i][j+1]==9)
						flag_i[i][j+1]=1;
				flag_i[i][j]=2;
				}

			}
		}
		flag_j=1;

		for(i=0;i<conf.matrixN;i++)
			for(j=0;j<conf.matrixN;j++)
				if(flag_i[i][j]==1)
					flag_j=0;

	}

		for(i=0;i<conf.matrixN;i++)
			for(j=0;j<conf.matrixN;j++)
				if(conf.matrixArr[i][j]==color&&flag_i[i][j]==9)
				{
					
					return 0;
				}
	}
	return 1;
}